{
GtkWidget *focus_widget;
+ if (event->any.type == GDK_KEY_PRESS &&
+ gtk_window_activate_key (GTK_WINDOW (event_widget), (GdkEventKey *) event))
+ goto cleanup;
+
focus_widget = gtk_window_get_focus (GTK_WINDOW (event_widget));
if (focus_widget)
event_widget = focus_widget;
GdkEvent *event);
static gboolean gtk_window_event (GtkWidget *widget,
GdkEvent *event);
-static gint gtk_window_key_press_event (GtkWidget *widget,
- GdkEventKey *event);
static void gtk_window_focus_in (GtkWidget *widget);
static void gtk_window_focus_out (GtkWidget *widget);
static void surface_state_changed (GtkWidget *widget);
widget_class->unrealize = gtk_window_unrealize;
widget_class->size_allocate = gtk_window_size_allocate;
widget_class->event = gtk_window_event;
- widget_class->key_press_event = gtk_window_key_press_event;
widget_class->focus = gtk_window_focus;
widget_class->move_focus = gtk_window_move_focus;
widget_class->measure = gtk_window_measure;
return handled;
}
-static gint
-gtk_window_key_press_event (GtkWidget *widget,
- GdkEventKey *event)
-{
- GtkWindow *window = GTK_WINDOW (widget);
- gboolean handled = FALSE;
-
- /* handle mnemonics and accelerators */
- if (!handled)
- handled = gtk_window_activate_key (window, event);
-
- /* Chain up, invokes binding set */
- if (!handled)
- handled = GTK_WIDGET_CLASS (gtk_window_parent_class)->key_press_event (widget, event);
-
- return handled;
-}
-
static GtkWindowRegion
get_active_region_type (GtkWindow *window, gint x, gint y)
{